// JavaScript Document

//Cargar listado de eventos monitoreados
	var monitorEventListTemp= new Array(); //listado de eventos monitoreados
	var monitorEventList 	= new Hashtable();//hash de eventos visibles en el monitor
	var lastIdWeb 			= 0;
	var lastIdByk 			= 0;
	var lastReqParams 		= '';

	var eventLimit 			= 50; //cantidad maxima de eventos a mostrar por lote
	var eventLotes 			= 1; //cantidad de lotes de eventos a mostrar
	var eventCountPrinted 	= 0; //cantidad de eventos impresos

    var reqHandlerMonitor 	= null;

	var reqHandlerMonitorLeerEvento = null;

	var reqHandlerMonitorEventoHistorico = null;

	var modalMarcarEvento 	= null; //popup modal para marcar eventos

	var eventosSeleccionadosWEBId 	= new Array();
	var eventosSeleccionadosWEBmovil= new Array();
	var eventosSeleccionadosBYKId 	= new Array();
	var eventosSeleccionadosBYKmovil= new Array();

	var layerEventosMonitor 	= null;
	var eventosMonitorForPopUps = new Array(); //array que acumula objetos de "Eventos" del monitor para que pueda generarse el PopUp.
	var eventosMonitorPopup 	= null; //Ultimo Bubble PopUp Creado

	
	var bOpenPopupMonitor = false;
	var webIDS = "";
	var bykIDS = "";
	
	var filtroMonitor = "TODOS";//para filtrar por estado de los eventos, ES GLOBAL
	function clearEventosMonitorFromMap(){
		if (cMapController.getMapActive().getLayerEventoMonitor()!=null){
			cMapController.getMapActive().getMap().removeLayer(cMapController.getMapActive().getLayerEventoMonitor());
			cMapController.getMapActive().getLayerEventoMonitor().destroy();
			cMapController.getMapActive().setLayerEventoMonitor(null);
			eventosMonitorForPopUps = new Array();
		}
	}

	function checkedEventoMonitor(check, esWeb, movilId){
		if (check.checked){
			if(parseInt(esWeb)==1){
				eventosSeleccionadosWEBId.push(check.value);
				eventosSeleccionadosWEBmovil.push(movilId);
			}else{
				eventosSeleccionadosBYKId.push(check.value);
				eventosSeleccionadosBYKmovil.push(movilId);
			}
		}else{
			if(parseInt(esWeb)==1){
				pos=indexOfArray(eventosSeleccionadosWEBId,check.value.toString());
				if (pos!=-1){
					eventosSeleccionadosWEBId.splice(pos,1);
					eventosSeleccionadosWEBmovil.splice(pos,1);
				}
			}else{
				pos=indexOfArray(eventosSeleccionadosBYKId,check.value.toString());
				if (pos!=-1){
					eventosSeleccionadosBYKId.splice(pos,1);
					eventosSeleccionadosBYKmovil.splice(pos,1);
				}
			}
		}
	}

	function removeEventosMonitorPopup(mapaId){
		if (cMapController.getMapById(mapaId).getMisPopups()!=null){
			cMapController.getMapById(mapaId).getMap().removePopup(cMapController.getMapById(mapaId).getMisPopups());
			cMapController.getMapById(mapaId).getMisPopups().destroy();
			cMapController.getMapById(mapaId).setMisPopups(null);
		}
	}

	function openInfoEventoMonitor(point, eventoDesc, mapaId){
		var html = '<table width="350" border="0" cellpadding="0" cellspacing="0">';
		html += '<tr><td><span class="resaltado">EVENTO(Desde el monitor)</span></td></tr>';
		html += '<tr><td align="left">'+ eventoDesc +'</td></tr>';
		html += '</table>';
		//removeEventosMonitorPopup(mapaId);
		cMapController.getMapById(mapaId).removePopup();
		cMapController.getMapById(mapaId).setMisPopups(new OpenLayers.Popup.FramedCloud("popupEventoMonitor",point, null, html, null, true, function(){removeEventosMonitorPopup(mapaId);}));
		cMapController.getMapById(mapaId).getMap().addPopup(cMapController.getMapById(mapaId).getMisPopups());
	}

    /*FUNCIONES PARA VISUALIZAR LOS EVENTOS DEL MONITOR EN EL MAPA*/
	function drawEventoMonitorMarker(point, eventoDesc) {
	    if (cMapController.getMapActive().getLayerEventoMonitor() == null) {
	    	cMapController.getMapActive().setLayerEventoMonitor(new OpenLayers.Layer.Markers());
	       	cMapController.getMapActive().getMap().addLayer(cMapController.getMapActive().getLayerEventoMonitor());
	       	cMapController.getMapActive().getLayerEventoMonitor().div.style.zIndex = 702;
	    }
		var icono = mapIcons.getHistoricoIcon('evento');
		icono.setOpacity(0.9);
		var marker = new OpenLayers.Marker(point, icono);
		var mapaId = cMapController.getMapActive().getId();
		marker.events.register("click", marker, function() {
		    	//openInfoEventoMonitor(point, eventoDesc, mapaId);
				cMapController.getMapById(mapaId).openInfoEvento(point, eventoDesc);
        	});
		cMapController.getMapActive().getLayerEventoMonitor().addMarker(marker);
	}

	function OnReadyStateChangeMonitorEventoHistorico(){
    	ready = reqHandlerMonitorEventoHistorico.readyState;
		if (ready == READY_STATE_COMPLETE) {
			var eventosHistoricoMoni =  jQuery.parseJSON(reqHandlerMonitorEventoHistorico.responseText);
			if (eventosHistoricoMoni != false) {
				var latitud = eventosHistoricoMoni[0].latitud;
				var longitud = eventosHistoricoMoni[0].longitud;
				if (latitud != null && longitud != null) {
//				   var eventoDesc = eventosHistoricoMoni[0].detalle;
				   var myDate = new MyDate(eventosHistoricoMoni[0].fecha);
				   var fechaElegante =  myDate.elegantFormat();
				   var eventoDesc =  "<div>"+fechaElegante+"</div><div>"+eventosHistoricoMoni[0].detalle+"</div>";;
				   var lonLat = new OpenLayers.LonLat(parseFloat(longitud),parseFloat(latitud)).transform(cMapController.getMapActive().getDisplayProjection(), cMapController.getMapActive().getProjection());
				   drawEventoMonitorMarker(lonLat, eventoDesc);
				   cMapController.getMapActive().putHighlightCircle(lonLat);
				   cMapController.getMapActive().centrar(latitud, longitud);
				   return;
				 }
			}
			alert('No se encuentra la informacion disponible para mapear este evento.');
		}
    }

    function searchEventoHistorico(historicoFk, tabla) {
    	//alert('hfk' + historicoFk + '   t' + tabla);
    	reqParamsEventoHistorico = "COMMAND=SEARCHEVENTOHISTORICO";
		reqParamsEventoHistorico += "&HISTORICOFK=" + historicoFk;
		reqParamsEventoHistorico += "&TABLA=" + tabla;
    		if (msie)
            	   reqHandlerMonitorEventoHistorico = new ActiveXObject("Microsoft.XMLHTTP");
	    	else
    	    	   reqHandlerMonitorEventoHistorico = new XMLHttpRequest();

                reqHandlerMonitorEventoHistorico.onreadystatechange = OnReadyStateChangeMonitorEventoHistorico;
	        reqHandlerMonitorEventoHistorico.open("POST", "querycontroller.php", true);
    		reqHandlerMonitorEventoHistorico.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		reqHandlerMonitorEventoHistorico.send(reqParamsEventoHistorico);
    }

	function verEventoMonitorEnMapa(detalle, fecha, historicoFk, latitud, longitud) {
		//alert('Detalle' + detalle + ' hist:' + historicoFk + ' la:' + latitud + ' long:' + longitud);
		if (latitud != null && longitud != null && latitud != 'null' && longitud != 'null') {
			var lonLat = new OpenLayers.LonLat(parseFloat(longitud),parseFloat(latitud)).transform(cMapController.getMapActive().getDisplayProjection(), cMapController.getMapActive().getProjection());
			var myDate = new MyDate(fecha);
			var fechaElegante =  myDate.elegantFormat();
			var descripcion = "<div>"+fechaElegante+"</div><div>"+detalle+"</div>";
        	drawEventoMonitorMarker(lonLat, descripcion);
        	cMapController.getMapActive().putHighlightCircle(lonLat);
        	cMapController.getMapActive().centrar(parseFloat(latitud), parseFloat(longitud));
		} else if (historicoFk != null) {
		   var tabla = 'historico_avl_' + fecha.substring(2,4) + fecha.substring(5,7);
		   searchEventoHistorico(historicoFk, tabla);
		} else {
		   alert('No se encuentra la informacion disponible para mapear este evento');
		}
	}


	/******************************************************************/

	function generateTableEventoMonitor(eventoMonitor){
	    var HTMLline = '<table cellpadding="2" cellspacing="0" border="0" width="100%"><tr>';
	    HTMLline += '<td width="25"><input type="checkbox" name="boxEventos[]" value="'+eventoMonitor.id+'" id="eventosCheck'+eventoMonitor.id+'_'+eventoMonitor.tipoWeb+'" onClick="checkedEventoMonitor(this,'+eventoMonitor.tipoWeb+','+eventoMonitor.cuentaId+');" ></td>';
		var myDate = new MyDate(eventoMonitor.fecha);
	    HTMLline += '<td width="150"><span class="inputLBL">'+myDate.elegantFormat()+'</span></td>';
	    if(eventoMonitor.objetivo==1){
	    	cuentaActual	= misFijosHash.get(eventoMonitor.cuentaId);
	    }else if(eventoMonitor.objetivo==2){
	    	var cuentaActual = misVehiculosHash.get(eventoMonitor.cuentaId);
	    }
		HTMLline += '<td width="175"><span class="inputLBL">' + cuentaActual.label + '</span></td>';
	    HTMLline += '<td><span class="inputLBL">'+eventoMonitor.detalle+'</span></td>';
	    //HTMLline += '<td width="18">';
		HTMLline += '<td width="18"><img title="Observaciones" src="images/infoItemImg.gif" id="IMG'+eventoMonitor.id+'_'+eventoMonitor.tipoWeb+'" width="16" height="16" border="0" style="cursor:pointer;';
		if ((eventoMonitor.datos!='')&&(eventoMonitor.datos!=null))
			HTMLline += ' visibility:visible;" />';
		else
			HTMLline += ' visibility:hidden;" />';
	    HTMLline += '</td>';
	    
	    if(eventoMonitor.objetivo==1){
	    	HTMLline += '<td width="18"><img src="images/markers/fijo.png" width="17" height="17" border="0" style="cursor:pointer;"  title="Fijo"/> </td>';
	    }
	    if(eventoMonitor.objetivo==2){
	    	HTMLline += '<td width="18"><img src="images/markers/movil.png" width="17" border="0" style="cursor:pointer;"  title="Movil"/> </td>';
	    	HTMLline += '<td width="10"><img src="images/movilSeguimiento.gif" width="11" height="12" border="0" style="cursor:pointer;" onclick="cMapController.getMapActive().seguirMovil('+eventoMonitor.cuentaId+'); " title="seguir al movil"/> </td>';
	    	var params = "\'" + eventoMonitor.detalle + "\',\'" + eventoMonitor.fecha + "\'," + eventoMonitor.historicoFk + ",\'" + eventoMonitor.latitud + "\',\'" + eventoMonitor.longitud+"\'";
	    	HTMLline += '<td width="18"><img src="assets/templates/aplay/imagenes/acordeon/barras/globales/icono_busqueda.png"  border="0" style="cursor:pointer;" onclick="verEventoMonitorEnMapa(' + params + ');" title="mapear evento"/> </td>';
	    }
	    HTMLline += '<td width="18"><img src="images/readItemImg.gif" width="16" height="16" border="0" style="cursor:pointer;" onclick="openPopUpLeerEventoMonitor('+eventoMonitor.id+','+eventoMonitor.tipoWeb+');" title="Procesar este evento"/> </td>';
	    
	    if(eventoMonitor.objetivo==2){
	    	HTMLline += '<td width="18"><img src="assets/templates/aplay/imagenes/acordeon/barras/globales/icono_comando.png"  border="0" style="cursor:pointer;" onclick="cleanAllStates();  centroDeComandos('+eventoMonitor.cuentaId+');" title="Enviar Comando"/> </td>';
	    }
	    HTMLline += '</tr></table>';
	    return HTMLline;
	}
	var posiScrollMonitor = 0;
	function printEventMonitor(){
		posiScrollMonitor = $j("#monitorListScroll").scrollTop();//guardo la posicion del scroll para luego volver a posicionar el scroll en el div
		if (monitorEventListTemp.length>0){
			monitorListDIV.innerHTML = "";
			$j("#cantidadEventosMonitor").html(monitorEventListTemp.length+" eventos encontrados.");
			$j("#todosEventos").show();
			$j("#vistosEventos").show();
			$j("#sinVerEventos").show();
			var cantEnEspera	= 0;
			var cantNormal		= 0;
			for (var i=0; i<monitorEventListTemp.length; i++) {
				var backColor 		= "#F1F1F1";
				var classBackColor 	= "backColorNormal";
				if(monitorEventListTemp[i].datos!="" && monitorEventListTemp[i].datos !=null){
					classBackColor 	= "backColorEspera";
					backColor 		= "#FFFEE7";
					cantEnEspera++;
				}else{
					cantNormal++;	
				}
				var eventLine = '<div id="eventLine'+monitorEventListTemp[i].id+'_'+monitorEventListTemp[i].tipoWeb+'" style="width:98%; margin:2px;" class=\''+classBackColor+'\' ';
				eventLine += 'onmouseover="this.style.background=\'#FDFCFB\'" onmouseout="this.style.background=\''+backColor+'\'" >';
				eventLine += generateTableEventoMonitor(monitorEventListTemp[i]);
				eventLine += '</div>';
				monitorListDIV.innerHTML += eventLine;
				var id = "#eventLine"+monitorEventListTemp[i].id+"_"+monitorEventListTemp[i].tipoWeb+"";
				if(filtroMonitor=="TODOS"){
					$j(id).show();
				}else if(filtroMonitor=="ESPERA"){
					if(monitorEventListTemp[i].datos!="" && monitorEventListTemp[i].datos !=null){
						$j(id).show();
					}else{
						$j(id).hide();
					}
					$j("#cantidadEventosMonitor").html(cantEnEspera+" eventos encontrados.");
				}else if(filtroMonitor=="NORMAL"){
					if(monitorEventListTemp[i].datos!="" && monitorEventListTemp[i].datos !=null){
						$j(id).hide();
					}else{
						$j(id).show();
					}
					$j("#cantidadEventosMonitor").html(cantNormal+" eventos encontrados.");
				}
			}
			$j("#pendEv").html(cantNormal);
			$j("#espEv").html(cantEnEspera);
			$j("#totalEv").html(cantEnEspera+cantNormal);
			$j("#detallesMonitor").show();
			$j("#monitorListScroll").scrollTop(posiScrollMonitor);
			var checkId='';
			for	(var j=0; j<eventosSeleccionadosWEBId.length; j++){
				checkId = 'eventosCheck'+eventosSeleccionadosWEBId[j]+'_1';
				if (document.getElementById(checkId) != null){
					document.getElementById(checkId).checked = true;
				}
			}
			for	(var k=0; k<eventosSeleccionadosBYKId.length; k++){
				var checkId = 'eventosCheck'+eventosSeleccionadosBYKId[k]+'_0';
				if (document.getElementById(checkId) != null){
					document.getElementById(checkId).checked = true;
				}
			}
			limpiarEventosSeleccionados();
		}
		monitorEventListTemp.length=0;
	}

	function limpiarEventosSeleccionados(){
		for	(var j=0; j<eventosSeleccionadosWEBId.length; j++){
			checkId = 'eventosCheck'+eventosSeleccionadosWEBId[j]+'_1';
			if (document.getElementById(checkId) == null){
				eventosSeleccionadosWEBId.splice(j,1);
				eventosSeleccionadosWEBmovil.splice(j,1);
				j--;
			}
		}
		for	(var k=0; k<eventosSeleccionadosBYKId.length; k++){
			var checkId = 'eventosCheck'+eventosSeleccionadosBYKId[k]+'_0';
			if (document.getElementById(checkId) == null){
				eventosSeleccionadosBYKId.splice(k,1);
				eventosSeleccionadosBYKmovil.splice(k,1);
				k--;
			}
		}
	}

	function refreshViewMonitor(){
		if (document.getElementById('eventsListNoResult')!=null){
			monitorListDIV.removeChild(document.getElementById('eventsListNoResult'));
		}
	 	printEventMonitor();
	 	$j("#icono_monitorear").removeClass("icono_monitorear").addClass("icono_monitorear_activo");
	}
	function confirmarMensajeMonitor(){
		$j("#alertaEventosNuevosMonitor").hide();
	}
	function verificarEventosNuevos(listaDeEventos){
		for (var i=0; i<listaDeEventos.length; i++) {
			var oEvento = monitorEventList.get(listaDeEventos[i].id);
			if(oEvento==null){//es porque el eventos no esta en el hash, es el primero que encuentra nuevo y sale
				$j("#alertaEventosNuevosMonitor").show();
				break;
			}
		}
	}
	function OnReadyStateChangeMonitor(){
		ready = reqHandlerMonitor.readyState;
		if (ready == READY_STATE_COMPLETE) {
			var eventosJSON =  jQuery.parseJSON(reqHandlerMonitor.responseText);
			if (eventosJSON.length != 'undefined') {
				for(var i=0; i < eventosJSON.length; i++){
					if (parseInt(eventosJSON[i].tipoWeb)==1){
						lastIdWeb = eventosJSON[i].id;
					}else{
						lastIdByk = eventosJSON[i].id;
					}
					monitorEventListTemp.push(eventosJSON[i]);
				}
				verificarEventosNuevos(monitorEventListTemp);
				generarHashEventos();
				eventCountPrinted=eventosJSON.length;
				if (eventosJSON.length>0){
					refreshViewMonitor();
				}
			}
			if(!filtrarPrimeraVez){
				filtroEventos("NORMAL");
				filtrarPrimeraVez = true;
			}
			if (eventCountPrinted==0){
				monitorListDIV.innerHTML = '<div id="eventsListNoResult"><span class="inputLBL">No se encontraron eventos registrados para el filtro aplicado.</span></div>';
				$j("#icono_monitorear").removeClass("icono_monitorear_activo").addClass("icono_monitorear");
				$j("#cantidadEventosMonitor").html("");
				$j("#todosEventos").hide();
				$j("#vistosEventos").hide();
				$j("#sinVerEventos").hide();
			}
			$j("#iconoMapa").removeClass().addClass("icono_mapa");
			autoRefreshFlag = 0;
		}
	}

	var monitorListDIV = null;
	var filtrarPrimeraVez = false;
	function CargarEventosMonitor(){
		if (monitorListDIV == null){
			monitorListDIV = document.getElementById('divMonitorList');
		}
		var moniFijos= true;
		var fijos	 = "";
		if(LOGIN.objetivoDB == 5 || LOGIN.objetivoDB == 1){
			if(fijosMonitoreadosId.length==0){
				moniFijos = false;
			}else{
				fijos += fijosMonitoreadosId.join(",");
			}
		}else{
			moniFijos = false;
		}
		if (!moniFijos && vehiculosMonitoreadosId.length==0){
			$j("#icono_monitorear").removeClass("icono_monitorear_activo").addClass("icono_monitorear");
			monitorListDIV.innerHTML = '<div id="eventsListNoResult"><span class="inputLBL">No se encontraron eventos registrados para el filtro aplicado.</span></div>';
			lastReqParams = "";
			$j("#cantidadEventosMonitor").html("");
			$j("#todosEventos").hide();
			$j("#vistosEventos").hide();
			$j("#sinVerEventos").hide();
			$j("#detallesMonitor").hide();
			return;
		}
		var moviles = vehiculosMonitoreadosId.join(",");
		if(moviles!= ""){
			if(fijos!=""){
				moviles += ","+fijos; 	
			}
		}else{
			moviles = fijos;		
		}
		if(lastReqParams != moviles ){
			lastReqParams = moviles;
			actualizarEventosSeleccionados();
			eventCountPrinted = 0;
			eventLotes	= 1;
			lastIdWeb	= 0;
	        lastIdByk	= 0;
			monitorListDIV.innerHTML = '';
		}
		if(eventCountPrinted < eventLimit*eventLotes){
			//countEvents = (eventLimit*eventLotes)-eventCountPrinted;
			countEvents = 20;
    		reqParamsEventosMoni = "COMMAND=MONITOR";
    		reqParamsEventosMoni += "&cuentas=" + lastReqParams;
			reqParamsEventosMoni += "&TABLAID="+LOGIN.tablaId;
			reqParamsEventosMoni += "&OBJETIVO="+LOGIN.objetivo;
			reqParamsEventosMoni += "&CUENTAID="+LOGIN.cuentaFk;
			reqParamsEventosMoni += "&OBJETIVODB="+LOGIN.objetivoDB;
			reqParamsEventosMoni += "&LASTIDWEB=" + lastIdWeb;
			reqParamsEventosMoni += "&LASTIDBYK=" + lastIdByk;
			reqParamsEventosMoni += "&LIMIT=" + countEvents;
			$j("#iconoMapa").removeClass().addClass("icono_mapa_activo");
    		if (msie)
        	    reqHandlerMonitor = new ActiveXObject("Microsoft.XMLHTTP");
	        else
    	        reqHandlerMonitor = new XMLHttpRequest();
        	reqHandlerMonitor.onreadystatechange = OnReadyStateChangeMonitor;
	        reqHandlerMonitor.open("POST", "querycontroller.php", true);
    	    reqHandlerMonitor.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			reqHandlerMonitor.send(reqParamsEventosMoni);
		}
    }

	function actualizarEventosSeleccionados(){
		for (var i=eventosSeleccionadosWEBmovil.length-1; i>=0; i--){
			if (lastReqParams.match(eventosSeleccionadosWEBmovil[i])==null){
				eventosSeleccionadosWEBId.splice(i,1);
				eventosSeleccionadosWEBmovil.splice(i,1);
			}
		}
		for (var i=eventosSeleccionadosBYKmovil.length-1; i>=0; i--){
			if (lastReqParams.match(eventosSeleccionadosBYKmovil[i])==null){
				eventosSeleccionadosBYKId.splice(i,1);
				eventosSeleccionadosBYKmovil.splice(i,1);
			}
		}
	}

	function cerrarModalMarcarEvento(){
		if(modalMarcarEvento!=null){
			modalMarcarEvento.hide();
		}
	}
	
	function OnReadyStateChangeMonitorLeerEvento(){
		bOpenPopupMonitor = false;
		idsByk = "";
		idsWeb = "";
		ready  = reqHandlerMonitorLeerEvento.readyState;
		if (ready == READY_STATE_COMPLETE) {
			leerEventosJSON =  jQuery.parseJSON(reqHandlerMonitorLeerEvento.responseText);
			if (leerEventosJSON !== false ) {
				var resultHTML = "";
				if(modalMarcarEvento!=null){
					modalMarcarEvento.hide();
				}
				var eventsArrayWeb = new Array();
				if (trim(eventosLeerIdsWeb)!=''){
					eventsArrayWeb = eventosLeerIdsWeb.split(",");
				}
				var eventsArrayByk = new Array();
				if (trim(eventosLeerIdsByk)!=''){
					eventsArrayByk = eventosLeerIdsByk.split(",");
				}
				//ahora elimino el evento de la lista si es que fue procesado
				if (parseInt(eventosLeerProcess)==1){
					for (var i=0; i< eventsArrayWeb.length ; i++){
						var idEventLine="eventLine"+eventsArrayWeb[i]+'_1';
						var olddiv = document.getElementById(idEventLine);
						if(olddiv!=null){
							monitorListDIV.removeChild(olddiv);
						}
					}
					eventCountPrinted-=eventsArrayWeb.length;
					for (var i=0; i<eventsArrayByk.length; i++){
						var idEventLine="eventLine"+eventsArrayByk[i]+'_0';
						var olddiv = document.getElementById(idEventLine);
						if(olddiv!=null){
							monitorListDIV.removeChild(olddiv);
						}
					}
					eventCountPrinted-=eventsArrayByk.length;
					eventosSeleccionadosWEBId = new Array();
					eventosSeleccionadosBYKId = new Array();
					
//					var eventosAProcesar 	= eventsArrayWeb.length + eventsArrayByk.length;
//					var eventosNoProcesados = leerEventosJSON.length;
//					var eventosProcesados 	= eventosAProcesar - eventosNoProcesados;
//					resultHTML += "<div style='text-align: center;'><span class='inputLBL'>Informe del procesamiento</span></div>";
//					resultHTML += "<div><hr /></div>";
//					resultHTML += "<div style='padding-left: 10px;'><span class='inputLBL'>Eventos a procesar: "+eventosAProcesar+"</span></div>";
//					resultHTML += "<div style='padding-left: 10px;padding-top: 5px;'><span class='inputLBL'>Eventos procesados: "+eventosProcesados+"</span></div>";
//					resultHTML += "<div style='padding-left: 10px;padding-top: 5px;'><span class='inputLBL'>Eventos no procesados: "+eventosNoProcesados+"</span></div>";
//					resultHTML += "<div style='text-align: right; padding-top: 191px; padding-right: 9px;'>" +
//								"<button onclick='window.parent.cerrarModalMarcarEvento();' id='' type='button'>" +
//								"<img alt='' src='../images/icons/cancelar.png'>Salir</button>" +
//								"</div>";
//					parent.frames['_iframe-modalMarcarEvento'].document.getElementById('tabProcesar').innerHTML = resultHTML;
//					parent.frames['_iframe-modalMarcarEvento'].$j("#tabsmenu ul").hide();
					
				}else{ //como no fue procesado, tengo que actualizar el div de los eventos.
					var backColor = "#FFFEE7";
					for (var i=0; i<eventsArrayWeb.length; i++){
						var idEventLine="eventLine"+eventsArrayWeb[i]+'_1';
						$j("#"+idEventLine).css("background-color",backColor);
						$j("#"+idEventLine).addClass("backColorEspera");
						
						var idIMG='IMG'+eventsArrayWeb[i]+'_1';
						document.getElementById(idIMG).style.visibility = "visible";
					}
					for (var i=0; i<eventsArrayByk.length; i++){
						var idEventLine="eventLine"+eventsArrayByk[i]+'_0';
						$j("#"+idEventLine).css("background-color",backColor);
						$j("#"+idEventLine).addClass("backColorEspera");

						var idIMG='IMG'+eventsArrayByk[i]+'_0';
						document.getElementById(idIMG).style.visibility = "visible";
					}
				}
				
			}else{
				parent.frames['_iframe-modalMarcarEvento'].document.getElementById('readEventoErrorDisplay').innerHTML = "El evento no pudo ser procesado por problemas de conexion a la DB";
				parent.frames['_iframe-modalMarcarEvento'].document.getElementById('readEventoErrorDisplay').style.display="block";
			}
		}
	}

	//variables globales
	var eventosLeerIdsWeb = null;
	var eventosLeerIdsByk = null;
	var eventosLeerProcess = null;
	function LeerEventoMonitor(idsWeb, idsByk, process, msg, concatena) {
		
		parent.frames['_iframe-modalMarcarEvento'].document.getElementById('readEventoErrorDisplay').style.display="none";
		eventosLeerIdsWeb = idsWeb;
		eventosLeerIdsByk = idsByk;
		eventosLeerProcess = process;
		reqParamsEventosMoniLeer = "COMMAND=PROCESAREVENTO";
		reqParamsEventosMoniLeer += "&IDEVENTOSWC=" + idsWeb;
		reqParamsEventosMoniLeer += "&IDEVENTOSBY=" + idsByk;
		reqParamsEventosMoniLeer += "&PROCESADO=" + process;
		reqParamsEventosMoniLeer += "&USER=" + LOGIN.label;
		reqParamsEventosMoniLeer += "&OBJETIVO=" + LOGIN.objetivo;
		reqParamsEventosMoniLeer += "&TABLAID=" + LOGIN.tablaId;
		reqParamsEventosMoniLeer += "&DATOS=" + msg;
		reqParamsEventosMoniLeer += "&CONCATENA=" + concatena;
		if (msie)
			reqHandlerMonitorLeerEvento = new ActiveXObject("Microsoft.XMLHTTP");
		else
			reqHandlerMonitorLeerEvento = new XMLHttpRequest();
		reqHandlerMonitorLeerEvento.onreadystatechange = OnReadyStateChangeMonitorLeerEvento;
		reqHandlerMonitorLeerEvento.open("POST", "persistireventomoni.php", true);
		reqHandlerMonitorLeerEvento.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		reqHandlerMonitorLeerEvento.send(reqParamsEventosMoniLeer);
		
//		$j.ajax({
//			type: "POST",
//			url: "persistireventomoni.php",
//			data: "COMMAND=CONSULTAREVENTOS&IDEVENTOSWC="+idsWeb+"&IDEVENTOSBY="+idsByk+"&OBJETIVO="+LOGIN.objetivo+"&CUENTAID="+LOGIN.tablaId+"&esWeb=&USER=" + LOGIN.label+"",
//			success: function(data) {
//				var dataAux =	jQuery.parseJSON(data);
//				var isLock = (dataAux.length > 0) ? true: false;
//				if(isLock){
//					var msj = "";
//					if (dataAux.length != 'undefined') {
//						for(var i=0; i < dataAux.length; i++){
//							msj += "evento: "+dataAux[i].eventoId+" "+dateMYSQLToDate2(dataAux[i].fecha)+" por usuario: "+dataAux[i].username+"\n";
//						}
//					}
//					alert("Los siguientes eventos est�n blockeados por otro usuario en este momento\n"+msj);
//					return false;
//				}else{
//					parent.frames['_iframe-modalMarcarEvento'].document.getElementById('readEventoErrorDisplay').style.display="none";
//					eventosLeerIdsWeb = idsWeb;
//					eventosLeerIdsByk = idsByk;
//					eventosLeerProcess = process;
//					reqParamsEventosMoniLeer = "COMMAND=PROCESAREVENTO";
//					reqParamsEventosMoniLeer += "&IDEVENTOSWC=" + idsWeb;
//					reqParamsEventosMoniLeer += "&IDEVENTOSBY=" + idsByk;
//					reqParamsEventosMoniLeer += "&PROCESADO=" + process;
//					reqParamsEventosMoniLeer += "&USER=" + LOGIN.label;
//					reqParamsEventosMoniLeer += "&DATOS=" + msg;
//					reqParamsEventosMoniLeer += "&CONCATENA=" + concatena;
//					if (msie)
//						reqHandlerMonitorLeerEvento = new ActiveXObject("Microsoft.XMLHTTP");
//					else
//						reqHandlerMonitorLeerEvento = new XMLHttpRequest();
//					reqHandlerMonitorLeerEvento.onreadystatechange = OnReadyStateChangeMonitorLeerEvento;
//					reqHandlerMonitorLeerEvento.open("POST", "persistireventomoni.php", true);
//					reqHandlerMonitorLeerEvento.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//					reqHandlerMonitorLeerEvento.send(reqParamsEventosMoniLeer);
//				}
//			}
//		});
    }

	function openPopUpLeerEventoMonitor(ids,esWeb, eventoName, movilEvt, fechaEvt, datosEvt){
		var callProcess='LeerEventoMonitor(';
		var callNoProcess='LeerEventoMonitor(';
		var idsWeb = "";
		var idsByk = "";
		if (parseInt(esWeb)==1){
			callProcess +='\''+ids+'\',\'\',1,document.getElementById(\'eventoDescProcesar\').value';
			callNoProcess +='\''+ids+'\',\'\',0,document.getElementById(\'eventoDescProcesar\').value';
			idsWeb = ids;
		}else{
			callProcess += '\'\',\''+ids+'\',1,document.getElementById(\'eventoDescProcesar\').value';
			callNoProcess += '\'\',\''+ids+'\',0,document.getElementById(\'eventoDescProcesar\').value';
			idsByk = ids;
		}
		callProcess+=',0);'; //no concatena datos
		callNoProcess+=',0);';

		var closeIdsWeb = "'"+idsWeb+"'";
		var closeIdsByk = "'"+idsByk+"'";
		var URL = 'MMapFrames/modalProcesarEvento.php?callProcess='+callProcess+'&callNoProcess='+callNoProcess+'&eventoId='+ids+'&esWeb='+esWeb+"&closeIdsWeb="+closeIdsWeb+"&closeIdsByk="+closeIdsByk;
		descheckearById(idsWeb,idsByk);
		lockEventos(idsWeb,idsByk,esWeb,URL);
//		$j.ajax({
//			type: "POST",
//			url: "persistireventomoni.php",
//			data: "COMMAND=CONSULTAREVENTOS&IDEVENTOSWC="+idsWeb+"&IDEVENTOSBY="+idsByk+"&OBJETIVO="+LOGIN.objetivo+"&CUENTAID="+LOGIN.tablaId+"&esWeb="+esWeb+"&USER=" + LOGIN.label+"",
//			success: function(data) {
//				var dataAux =	jQuery.parseJSON(data);
//				var isLock = (dataAux.length > 0) ? true: false;
//				if(isLock){
//					var msj = "";
//					if (dataAux.length != 'undefined') {
//						for(var i=0; i < dataAux.length; i++){
//							msj += "evento: "+dataAux[i].eventoId+" "+dateMYSQLToDate2(dataAux[i].fecha)+" por usuario: "+dataAux[i].username+"\n";
//						}
//					}
//					alert("Los siguientes eventos est�n blockeados por otro usuario en este momento\n"+msj);
//				}else{
//					lockEventos(idsWeb,idsByk,esWeb,URL);
//				}
//			}
//		});
	}

	function lockEventos(idsWeb,idsByk,esWeb,URL){
		bOpenPopupMonitor = true;
		webIDS = idsWeb;
		bykIDS = idsByk;
		$j.ajax({
			 type: "POST",
			 url: "persistireventomoni.php",
			 data: "COMMAND=LOCKEVENTOS&IDEVENTOSWC="+idsWeb+"&IDEVENTOSBY="+idsByk+"&OBJETIVO="+LOGIN.objetivo+"&CUENTAID="+LOGIN.tablaId+"&esWeb="+esWeb+"&USER=" + LOGIN.label+"",
			 success: function(data){
					var dataAux =	jQuery.parseJSON(data);
					var paramsEventos = "&eventosOk="+dataAux.eventosOk+"&eventosError="+dataAux.eventosError+""; 
					modalMarcarEvento = dhtmlmodal.open('modalMarcarEvento', 'iframe', URL+paramsEventos, 'Procesar evento', 'width=550px,height=380px,resize=0,scrolling=0,center=1');
			  }
		});
	}

	function openPopUpLeerEventosSelected(){
		if ((eventosSeleccionadosWEBId.length>0)||(eventosSeleccionadosBYKId.length>0)){
			var idsWeb = '';
			var idsByk = '';
			if (eventosSeleccionadosWEBId.length>0) idsWeb = eventosSeleccionadosWEBId.toString();
			if (eventosSeleccionadosBYKId.length>0) idsByk = eventosSeleccionadosBYKId.toString();
			if((eventosSeleccionadosWEBId.length+eventosSeleccionadosBYKId.length)==1){
				if(idsWeb!='')
					openPopUpLeerEventoMonitor(idsWeb,'1');
				else
					openPopUpLeerEventoMonitor(idsByk,'0');
				return;
			}
			
			var callProcess='LeerEventoMonitor(';
			var callNoProcess='LeerEventoMonitor(';
			callProcess +='\''+idsWeb+'\',\''+idsByk+'\',1,document.getElementById(\'eventoDescProcesar\').value,1);';
			callNoProcess +='\''+idsWeb+'\',\''+idsByk+'\',0,document.getElementById(\'eventoDescProcesar\').value,1);';
			var closeIdsWeb = "'"+idsWeb+"'";
			var closeIdsByk = "'"+idsByk+"'";
			var URL = 'MMapFrames/modalProcesarEvento.php?callProcess='+callProcess+'&callNoProcess='+callNoProcess+"&closeIdsWeb="+closeIdsWeb+"&closeIdsByk="+closeIdsByk;
			descheckearById(idsWeb,idsByk);
			lockEventos(idsWeb,idsByk,"",URL);
		}else{
			alert('Debe seleccionar al menos un evento de la lista para realizar esta operacion');
		}
	}

	function closePopUpEventos(idsWeb,idsByk){
		bOpenPopupMonitor = false;
		if(idsWeb == "" && idsByk == ""){
			idsWeb = webIDS;
			idsByk = bykIDS;
		}else{
			modalMarcarEvento.hide();
		}
		$j.ajax({
			 type: "POST",
			 url: "persistireventomoni.php",
			 data: "COMMAND=UNLOCKEVENTOS&OBJETIVO="+LOGIN.objetivo+"&CUENTAID="+LOGIN.tablaId+"&esWeb="+1+"&USER="+LOGIN.label+"&IDSWEB="+idsWeb+"&IDSBYK="+idsByk,
			 success: function(data){
				idsByk = "";
				idsWeb = "";
			 }
		});
	}

	function generarHashEventos(){
		monitorEventList.clear();
		for (var i=0; i<monitorEventListTemp.length; i++) {
			monitorEventList.put(monitorEventListTemp[i].id,monitorEventListTemp[i]);
		}
	}
	function cambiarIconoMonitor(monitor){
		if(monitor){
			$j("#noMonitorEnSeguimiento").css("display","none");
			$j("#monitorEnSeguimiento").css("display","block");
			$j("#noMonitorEnSeleccion").css("display","none");
			$j("#monitorEnSeleccion").css("display","block");
		}else{
			$j("#noMonitorEnSeguimiento").css("display","block");
			$j("#monitorEnSeguimiento").css("display","none");
			$j("#noMonitorEnSeleccion").css("display","block");
			$j("#monitorEnSeleccion").css("display","none");
		}
	}
	function filtroEventos(str){
		filtroMonitor = str;
		var cantidad = 0;
		$j("#vistosEventos").removeClass("eventos_monitor_activo");
		$j("#todosEventos").removeClass("eventos_monitor_activo");
		$j("#sinVerEventos").removeClass("eventos_monitor_activo");
		if(str == "TODOS"){
			$j(".backColorEspera").show();
			$j(".backColorNormal").show();
			cantidad  = $j(".backColorEspera").size()+$j(".backColorNormal").size();
			$j("#todosEventos").addClass("eventos_monitor_activo");
		}else if(str == "ESPERA"){
			$j(".backColorEspera").show();
			$j(".backColorNormal").hide();
			cantidad  = $j(".backColorEspera").size();
			$j("#vistosEventos").addClass("eventos_monitor_activo");
		}else if(str=="NORMAL"){
			$j(".backColorEspera").hide();
			$j(".backColorNormal").show();
			cantidad  = $j(".backColorNormal").size();
			$j("#sinVerEventos").addClass("eventos_monitor_activo");
		}
		$j("#cantidadEventosMonitor").html(cantidad+" eventos encontrados.");
	}
	
	function descheckearById(idsWeb,idsByk){
		var vWebs = "";
		var vByks = "";
		if(idsWeb.toString()!=""){
			vWebs = idsWeb.toString().split(",");
		}
		if(idsByk.toString()!=""){
			vByks = idsByk.toString().split(",");
		}
		for(var i=0; i<vWebs.length;i++){
			var idString = "eventosCheck"+vWebs[i]+"_1";
			document.getElementById(idString).checked = false;
			pos = indexOfArray(eventosSeleccionadosWEBId,vWebs[i].toString());
			if (pos!=-1){
				eventosSeleccionadosWEBId.splice(pos,1);
				eventosSeleccionadosWEBmovil.splice(pos,1);
			}
		}
		for(var i=0; i<vByks.length;i++){
			var idString = "eventosCheck"+vByks[i]+"_0";
			document.getElementById(idString).checked = false;
			pos=indexOfArray(eventosSeleccionadosBYKId,vByks[i].toString());
			if (pos!=-1){
				eventosSeleccionadosBYKId.splice(pos,1);
				eventosSeleccionadosBYKmovil.splice(pos,1);
			}
		}
	}